// config/db.js
const mongoose = require('mongoose')

// 在入口文件顶部加载
const env = process.env.NODE_ENV || 'development'
require('dotenv').config({ path: `.env.${env}` })

/**
 * 连接 MongoDB 数据库
 * 使用环境变量中的 MONGODB_URI 配置连接字符串
 * 最佳实践：将连接字符串存储在 .env 文件中
 */
const connectDB = async () => {
	try {
		await mongoose.connect(process.env.MONGODB_URI, {
			useNewUrlParser: true, // 使用新的URL解析器
			useUnifiedTopology: true // 使用新的服务器发现和监视引擎
		})
		console.log(`✅ MongoDB Connected Successfully: ${mongoose.connection.host}`)
	} catch (error) {
		console.error(`❌ MongoDB Connection Error: ${error.message}`)
		process.exit(1) // 退出进程（非正常退出）
	}
}

module.exports = connectDB
